In storage technology, a storage appliance is one type of computer that provides services relating to the organization and storage of information or data on storage devices such as, for example, disk drives (“disks”). In other words, a storage appliance is adapted to store and retrieve data on behalf of one or more client processing systems (“clients” or “hosts”) in response to external requests received from the hosts. A storage appliance can provide clients with file-level access to data stored in the storage devices. A storage appliance can also provide clients with block-level access to stored data, or with both file-level access and block-level access. For convenience, a storage appliance will be described herein, for the most part, in terms of the former, though the description herein will have application to the latter types of storage appliances as well, as will be apparent to those of ordinary skill in the art in light of the description that follows. Examples of such storage appliances include, but are not limited to, a file server or another type of computing device that provides storage services using a file system to respond to file-oriented data access requests (“filer”). A storage appliance includes a storage operating system that implements the file system to logically organize the information as a hierarchical structure of directories and files on the disks. Each file on a disk may be implemented as a set of data structures, e.g., disk blocks, which are configured to store information. A directory may be implemented as a formatted file in which information by other files and directories is stored.
An implemented disk storage for a storage appliance typically has one or more storage “volumes” which are a collection of physical storage disks and which define an overall logical arrangement of storage space. In other words, a storage volume is a logical container that includes a collection of disks. Therefore, the collection of disks are grouped (assimilated) into the storage volume. Each storage volume is generally associated with a file system.
One or more host computers (hosts) can share the storage resources (e.g., storage space) of storage appliances in a network. The process of allocating the storage space to a host is known as “storage provisioning”. The host can access and use the storage space that has been allocated to the host. The same storage space can be allocated to different hosts, and as a result, the different hosts can use the same storage space. Different storage space can also be allocated to different hosts, so that each host is allocated with a unique storage space. A user of a storage appliance can input commands into an interface of the storage appliance, in order to control or manage the storage appliance. A particular storage operating system in the storage appliance can respond to the input commands. However, if the storage operating system is upgraded, the input commands to the upgraded storage operating system may change in command name and/or command line arguments in the input command. As a result, when a user (e.g., customer) upgrades their storage operating system from a current version to a newer version, the command name and/or command line arguments for the newer version may be different from the command name and/or command line arguments for the current version. Therefore, there is added burden for the user who has to learn these new changes in the input commands. An example of upgrading a storage operating system in a computing device is when a Data Ontap® 7 G operating system is replaced with (upgrade to) the Data Ontap® GX storage operating system, as discussed below in additional details, although this example is not intended to limit the scopes of embodiments of the invention. It would be advantageous to ease the burden on a user, when changes occur in the input commands due to the upgrade of the storage operating system.